
\section{Latex文档插入内容}

\subsection{插入图片}
graphicx宏包:
\begin{lstlisting}[language={[LaTex]Tex}]
\begin{figure}[htpb]
    \begin{center}
        \includegraphics[keepaspectratio,width=0.8\paperwidth]{a.png}
    \end{center}
    \caption{SQL language elements}
    \label{fig:SQL lan elem}
\end{figure}
\end{lstlisting}


\subsection{插入特殊字符}
反斜杠 \verb+\textbackslash+

\subsection{URL}
示例:
\begin{verbatim}
\url{https://launchpad.net/ubuntu/+ppas}
\end{verbatim}
章节标题的下划线会出错，应该转义。url，字体名称中的下划线不会出错，即便vim给出警告也是如此

\subsection{插入交叉引用}
引用图片编号，使用ref而不是cite

\subsection{插入程序代码}
可以使用宏包listings。
示例:
\begin{verbatim}
\usepackage{listings} 

\begin{lstlisting}[language=C]
int rank()
{ 
    return 0;
}
\end{lstlisting}
\end{verbatim}


\subsection{插入算法伪代码}

可以同时使用algorithm和algorithmic环境。依赖的包如下：
\begin{verbatim}
\usepackage{algorithm}
\usepackage{algpseudocode}
\end{verbatim}

如果是用debian包管理系统安装的texlive，那么还需安装texlive-science包。
\begin{verbatim}
\begin{algorithm}
\caption{静态解析}\label{euclid}
\begin{algorithmic}[1]
\Procedure{StaticChunkedParse}{$msg$}\Comment{msg is the chunked message}
\State $ep\gets 0$
\While{\texttt{True}}
\State $chunkSize \gets msg[ep:ep+64]$
\State $chunkLen \gets hex2int(chunkSize)$
\If{$chunkLen = 0$}
\State \textbf{break}
\EndIf
\State $ep \gets ep + len(chunkSize)$
\State $output \gets output + msg[ep:ep+chunkLen]$
\State $ep \gets ep + chunkLen$
\EndWhile\label{euclidendwhile}
\State \textbf{return} $output$\Comment{output is the decoded content}
\EndProcedure
\end{algorithmic}
\label{alg:static}
\end{algorithm}
\end{verbatim}




















